# the minimum version of CMake.
cmake_minimum_required(VERSION 3.10)
project(AVCodecSample_OpenGL)

set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_CXX_STANDARD 17)
add_definitions(-DOHOS_PLATFORM)

include_directories(${NATIVERENDER_ROOT_PATH}/
                    ${NATIVERENDER_ROOT_PATH}/capbilities/include
                    ${NATIVERENDER_ROOT_PATH}/common
                    ${NATIVERENDER_ROOT_PATH}/common/dfx/err
                    ${NATIVERENDER_ROOT_PATH}/common/dfx/log
                    ${NATIVERENDER_ROOT_PATH}/render/include
                    ${NATIVERENDER_ROOT_PATH}/sample/player
                    ${NATIVERENDER_ROOT_PATH}/sample/recorder
                    ${NATIVERENDER_ROOT_PATH}/camera
)

set(BASE_LIBRARY
    libace_napi.z.so libEGL.so libGLESv3.so libace_ndk.z.so libuv.so libhilog_ndk.z.so
    libnative_media_codecbase.so libnative_media_core.so libnative_media_vdec.so libnative_window.so
    libnative_media_venc.so libnative_media_acodec.so libnative_media_avdemuxer.so libnative_media_avsource.so
    libnative_media_avmuxer.so libohaudio.so libnative_buffer.so libnative_vsync.so libnative_image.so libohcamera.so
)

add_library(entry SHARED        entry.cpp
                                sample/player/player.cpp
                                capbilities/demuxer.cpp
                                capbilities/video_decoder.cpp
                                capbilities/audio_decoder.cpp
                                render/egl_render_context.cpp
                                render/plugin_render.cpp
                                render/plugin_manager.cpp
                                render/render_thread.cpp
                                render/shader_program.cpp
                                common/sample_callback.cpp
                                sample/recorder/recorder.cpp
                                capbilities/muxer.cpp
                                capbilities/video_encoder.cpp
                                camera/camera.cpp
)

target_link_libraries(entry PUBLIC ${BASE_LIBRARY})